USE Caronte2014
GO
SET LANGUAGE ENGLISH
GO
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
BEGIN TRANSACTION
GO

PRINT N'salvo gli idpolizza da cancellare'
GO
IF EXISTS (SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..POLIZZE')) DROP TABLE POLIZZE
CREATE TABLE POLIZZE (IDPOLIZZA INT)

INSERT INTO POLIZZE SELECT DISTINCT IDPOLIZZA from p_polizze where codpren not in (select codpren from biglie) and datapart<='2012-12-31 23:59:59'
IF @@ERROR<>0 OR @@TRANCOUNT=0 BEGIN IF @@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END

PRINT N'cancello i dati da p_polizze_pax'
GO
delete from p_polizze_pax where IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'Cancello i dati da p_polizze_sis_dett'
GO
DELETE FROM p_polizze_sis_det WHERE IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'cancello i dati da p_polizze_sis'
GO
delete from p_polizze_sis where IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'cancello i dati da p_polizze_veicoli'
GO
delete from p_polizze_veicoli where IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'cancello i dati da p_polizze_accessori'
GO
delete from p_polizze_accessori where IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'cancello i dati da p_polizze dettaglio_merce'
GO
DELETE FROM p_polizze_dettaglio_merce WHERE IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'CANCELLO I DATI DA P_POLIZZE_DIRITTI'
GO
DELETE FROM p_polizze_diritti WHERE IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'CANCELLO I DATI DA P_POLIZZE_DIRITTIFISSI'
GO
DELETE FROM p_polizze_dirittifissi WHERE IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'CANCELLO I DATI DA P_POLIZZE'
GO
DELETE FROM P_POLIZZE WHERE IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION


PRINT N'-------------CANCELLO GLI ARCHIVI---------------------'
GO

PRINT N'cancello i dati da p_polizze_veicoli_ARCH'
GO
delete from p_polizze_veicoli_arch where IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'cancello i dati da p_polizze_accessori_ARCH'
GO
delete from p_polizze_accessori_arch where IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'cancello i dati da p_polizze dettaglio_merce_arch'
GO
DELETE FROM p_polizze_dettaglio_merce_arch WHERE IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'CANCELLO I DATI DA P_POLIZZE_DIRITTI_arch'
GO
DELETE FROM p_polizze_diritti_arch WHERE IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'CANCELLO I DATI DA P_POLIZZE_DIRITTIFISSI__arch'
GO
DELETE FROM p_polizze_dirittifissi_arch WHERE IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION

PRINT N'CANCELLO I DATI DA P_POLIZZE_arch'
GO
DELETE FROM p_polizze_arch WHERE IDPOLIZZA IN (SELECT IDPOLIZZA FROM POLIZZE)
IF @@ERROR<>0 ROLLBACK TRANSACTION


PRINT N'CANCELLO LA TABELLA TEMPORANEA'
GO
DROP TABLE POLIZZE
GO
COMMIT TRANSACTION